Симетричні та асиметричні методи зашифрування інформації

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра автоматики та телемеханіки

Інформація про роботу

Рік:
2005
Тип роботи:
Курсова робота
Предмет:
Методи та засоби криптографічних перетворень
Група:
ІБ – 42

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра автоматики та телемеханіки Курсова робота з курсу: „Методи та засоби криптографічних перетворень” на тему: “Симетричні та асиметричні методи зашифрування інформації” Львів – 2005 Зміст Завдання 1 Теоретичні відомості Вибір ключів Блок-схема алгоритму Таблиця ідентифікаторів Текст програми Відкритий текст Результат зашифрування Висновок Завдання 2 Теоретичні відомості Вибір ключів Зашифрування Розшифрування Висновок Завдання 1 Вибрати ключі та розробити програму для за шифрування файлу даних заданим афінним шифром. Тип афінного шифру визначається останньою цифрою i НЗК. Об‘єм алфавіту визначається передостанньою цифрою j НЗК і дорівнює .  Тип афінного шифру — Лінійний першого порядку. Об‘єм алфавіту — . Теоретичні відомості Афінні шифри- підклас шифрів заміни, що включає, як частковий випадок шифр Віжінера і навіть шифр перестановки з фіксованим періодом. N-символьний алфавіт ототожнюємо з кільцем . А саме кожна буква замінюється своїм номером у алфавіті, причому нумерація починається з нуля. Наприклад, латинська абетка ототожнюється із , а українська із . Літера а української абетки трактується як нуль, літера б як 1, в як 2. Тепер до букв відкритого тексту ми можемо вільно застосовувати операцію додавання та множення за відповідним модулем. Лінійний шифр. Ключі: a таке, що , . Шифрування. У повідомлені кожна буква  заміщується буквою . Дешифрування. У криптотексті кожна буква  заміщуються буквою ,де . Вибір ключів  Блок-схема алгоритму  Таблиця ідентифікаторів Ідентифікатор Тип Опис  *fin FILE Вхідний файл  *fout FILE Вихідний (зашифрований) файл  blokin unsigned long Вхідний блок бітів (32 біти)  blokout unsigned long Вихідний блок бітів (32 біти)  kin int Лічильник бітів вхідного блоку (непрочитаних)  kout Int Лічильник бітів вихідного блоку (недописаних)  eofin Int Прапорець кінця файлу  xfull Int Прапорець готовності символу до запису у вихідний буфер  x unsigned long Символ (9 біт)  s[3] Char Стрічка для формування числового результату зашифрування у текстовий   Текст програми #include <stdio.h> #include <math.h> #include <conio.h> #include <stdlib.h> #include <string.h> int a=213, n=512; void main(void) { char s[3]; FILE *fin, *fout; int eofin=0, xfull=1, kin=32, kout=32; unsigned long blokin, blokout = 0, x; if ( (fin=fopen("c:\\infile.f", "rb")) == NULL ) { printf("cannot open the file data.fb"); exit(1); } else if ( (fout=fopen("c:\\outfile.f", "wb")) == NULL ) { printf("cannot open the file data.fbc"); exit(1); } else { if (fread(&blokin, 1, 4, fin) != 0) while (!eofin) { if (kin<=0) { if (fread(&blokin, 1, 4, fin) != 0) { x |= (blokin << (9+kin)) & 511; blokin >>= (-kin); kin += 32; xfull = 1 & !(kin==32); } else { eofin = 1; xfull = 1; } } else { x = blokin & 511; blokin >>= 9; kin -= 9; xfull = 1 & (kin>=0); } if (xfull) { x = (unsigned int)(fmod(a*x, n)); itoa(x, s, 10); fputs(strcat(s, " "), stdout); blokout |= x << (32-kout); kout -= 9; if (kout<=0) { fwrite(&blokout, 4, 1, fout); blokout &= 0; if (kout==0) kout = 32; else { blokout |= x >> (9+kout); kout += 32; } } } } fcloseall(); } } Відкритий текст У цьому Законі наведені нижче терміни вживаються в такому значенні: метрологія — наука про вимірювання, яка включає як теоретичні, так і практичні аспекти вимірювань у всіх галузях науки і техніки; вимірювання — відображення фізичних величин їхніми значеннями за допомогою експерименту та обчислень із застосуванням спеціальних технічних засобів; одиниця вимірювань — фізична величина певного розміру, прийнята для кількісного відображення однорідних з нею величин; єдність вимірювань— стан вимірювань, за якого їхні р...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини